package com.sgj.service;

import com.sgj.pojo.Tag;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * @author 沈国纪
 * @date 2021/3/31 9:13
 */
public interface TagService {

	/**
	 * 新增标签
	 * @param type
	 * @return
	 */
	Tag saveTag(Tag type);

	/**
	 * 根据 id 查询标签
	 * @param id
	 * @return
	 */
	Tag getTag(Long id);

	/**
	 * 根据姓名查询标签
	 * @param name
	 * @return
	 */
	Tag getTagByName(String name);

	/**
	 * 分页查询
	 * @param pageable
	 * @return
	 */
	Page<Tag> listTag(Pageable pageable);

	/**
	 * 查询返回列表
	 * @return
	 */
	List<Tag> listTag();

	/**
	 * 根据 id 数组查询标签
	 * @param ids
	 * @return
	 */
	List<Tag> listTag(String ids);

	/**
	 * 首页标签展示
	 * @param size
	 * @return
	 */
	List<Tag> listTagTop(Integer size);

	/**
	 * 更新标签
	 * @param id
	 * @param type
	 * @return
	 */
	Tag updateTag(Long id, Tag type);

	/**
	 * 删除标签
	 * @param id
	 */
	void deleteTag(Long id);
}
